package com.t.bricks.bussiness.service.filestorage;

import org.springframework.web.multipart.MultipartFile;

import com.t.bricks.model.MsgEmity;

public interface FileStorageService {
	
	/**
	 * 文件上传
	 * @param file 文件
	 * @param sPath 存储路径(不含文件名的相对路径)
	 * @param sFileName 存储的文件名
	 * @param iCover 是否覆盖(1:是;2:否)
	 * @return
	 */
	MsgEmity upFile(MultipartFile file, String sPath, String sFileName, Integer iCover);
	
	/**
	 * 判断文件是否存在
	 * @param sPath 存储路径(含文件名的相对路径)
	 * @return
	 */
	MsgEmity checkFile(String sPath);
	
	/**
	 * 读取文件内容
	 * @param sPath 存储路径(含文件名的相对路径)
	 * @return
	 */
	MsgEmity readFile(String sPath);
	
	/**
	 * 删除文件
	 * @param sPath 存储路径(含文件名的相对路径)
	 * @return
	 */
	MsgEmity delFile(String sPath);
	
	/**
	 * 下载文件
	 * @param request request对象
	 * @param response response对象
	 * @param sPath 存储路径(含文件名的相对路径)
	 */
	void download(Object request, Object response, String sPath);
	
	/**
	 * 下载文件zip
	 * @param sPath 存储路径(含文件名的相对路径)
	 * @return
	 */
	MsgEmity downloadZip(String sPath);
	
	/**
	 * 读取文件目录
	 * @param sPath 存储路径
	 * @return MsgEmity 返回查询结果
	 */
	MsgEmity findByTree(String sPath);
	
}
